1. Field of the Invention
The present invention relates to a multi-microcomputer system, and more particularly to such a system having direct memory access capability.
2. The Prior Art
When the tasks required of digital computers exceed the capacity of a single computer, but is nevertheless so complex as to prevent distribution between a plurality of independently operating units, a multi computer system is used. In many fields, microcomputers have replaced the large computers previously in use. The small dimensions of the microcomputers allow the production of compact multi-microcomputer systems.
The magazine "Elektronik", 1979 July 20 Pgs. 73-77, describes bus structures for multi computer systems. In one arrangement described in the above publication, the multi computer system has a dialogue computer and a plurality of function computers. The dialogue computer is assiged a direct memory access (DMA) controller, which facilitates direct access to the read-write stores of the interconnected computers. The DMA controller facilitates direct access to the read-write stores of the dialogue computer, via the address bus and the data bus. The data bus of the dialogue computer is connected to the DMA controller and to the data buses of the function computers by way of separator stages or gates. The address buses used by the dialogue computer are operated by separate address generators, which involve an increased complexity and expense in the system. In addition, access to the storage is slowed down because of the necessity for time coordinating the functions of the DMA controller.
In a system in which the reliability requirements are high, in which no breakdowns of any unit can be tolerated, a second computer system is provided which performs the identical functions in parallel. Monitoring the circuits and monitoring programs are provided to insure that the operating program is carried out by one of the parallel computer systems. The redundant system can either operate in a stand-by mode until required, or in a hot stand-by mode, or can process the functions in continuous parallel operations simultaneously with the active system.
In the event of a breakdown in the active system, a stand-by operation leads to longer interruption times because larger quantities of data must be exchanged between the system which was formerly active, and the stand-by unit. In a hot stand-by mode, the store of the inactive computer is written into at regular intervals by the active computer, so that it stores some of the data of the on-going programs. This procedure has the disadvantage, however, that in the event of an error in the active system which is not yet detected, the data in the stand-by system may be faulty. Therefore, the method of continuous parallel operation should be given preference, because any differences in the results of the processes of parallel operations immediately identify errors. In continuous parallel operation, since the data content of both systems is identical, there is no difficulty occurring as a result of a transistion from one system to another in the event of a breakdown in one system. In the case of a harmless fault, such as a parity error in a memory read, it is sufficient to transfer a small number of bytes from one system to another in order to bring the stores of the two systems to the same data state. In the case of a serious fault in one system, or in the case of restarting the system following repairs, it can be necessary to transfer large blocks of data or even the entire content of the storage of one of the systems.
In the system described in the publication referred to above, the dialogue computer alone programs the DMA controller. This results in a master-slave arrangement, which is not desireable. In order to avoid this disadvantageous relationship, a separate bus computer is necessary, which likewise, however, must be provided in duplicate for reliable operation of the overall system.
The German Patent AS No. 2,749,226 discloses a data exchange control unit for two microcomputers. As they are disclosed, the data exchange takes place by means of first-in-first-out storage devices. Such storage devices, however, are unsuitable for the transfer of large quantities of data.